System for managing data objects

ABSTRACT

A device for managing image and audio files displays thumbnails, which are representative of the files, on a screen in different arrangements, depending on the selected layout and order. When the user enters input to indicates that he or she wishes to browse through the thumbnails, the thumbnails move across the screen in sequence, following a path through a focus outline in the center of the screen. The path followed by the thumbnails depends on the selected layout.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an on-screen graphical user interface,and database management.

2. Related Art

Digital cameras, mini disks, and other devices for recording and playingdigital media are becoming quite popular. These devices store digitalmedia as data objects in memories such as flash memories, hard disks,and on-line storage.

There are many methods available for managing large numbers of dataobjects. For example, data objects are frequently managed using windowsand folders. U.S. Pat. No. 5,917,488 describes a system for displayingand manipulating image data sets. First, a window including programmedgroups is, displayed. When a user selects one of the programmed groups,then a second window is displayed with thumbnails that represent dataobjects of the selected programmed group.

Data objects are also handled in hierarchical lists, using staticlight-box metaphors. A light-box metaphor displays images in the mannerof “slides” all the same size on a white background. The “slides” arearranged in a grid.

There are methods known for selecting a format for displaying dataobjects. For example, U.S. Pat. No. 5,673,429 describes a system thatdisplays a list of different display formats. When the user selects adesired display format from the list, then items that match the selectedformat are pulled from a database and displayed in a list that dependson the selected display format.

Memory is becoming available in increasingly large capacities, whichenable storage of increasingly large numbers of data objects. Forexample, memory cards are available that are capable of storing data forseveral hundred different digital photographs. However, conventionaltechniques, such as windows, folders, and lists, have a problem in thatthey are insufficient for presenting such large numbers of data objectsin a manner that a user can easily and quickly understand.

SUMMARY OF THE INVENTION

It is an objective of the present invention to solve the above-describedproblems, and to provide a method and device that allows a user toeasily browse, view, manage, select, and command a large number of dataobjects.

In order to achieve this objective, a device according to the presentinvention for managing data objects, includes displaying means, definingmeans, moving means, and enable/disable means.

The displaying means is for displaying thumbnails representative of dataobjects. The defining means is for defining a focus region thatindicates a focus thumbnail subject to processes. The moving means isfor moving the displayed thumbnails along a predetermined path throughthe focus region.

The enable/disable means is for selectively enabling and disabling themoving means. When the enable/disable means disables the moving means,then the displaying means statically displays a single thumbnail in thefocus region. When the enable/disable means enables the moving means,then the displaying means displays the thumbnails to move along thepredetermined path through the focus region.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects, features and advantages of the inventionwill become more apparent from reading the following description of theembodiment taken in connection with the accompanying drawings in which:

FIG. 1 is a schematic view showing a window display with thumbnailsarranged in a line layout;

FIG. 2 is a schematic view showing the window display with thumbnailsarranged in a circle layout;

FIG. 3 is a schematic view showing the window display with thumbnailsarranged in a grid layout;

FIG. 4 is a schematic view showing the window display with thumbnailsarranged in a helix layout;

FIG. 5 is a block diagram showing components of a computer andperipheral equipment for displaying the window display of FIGS. 1 to 4;

FIG. 6 is a block diagram showing functional modules the computer ofFIG. 5;

FIG. 7 is a flowchart representing overall processes for implementingthe functional modules of FIG. 6;

FIG. 8 is a flowchart representing processes for changing layout ororder of thumbnails in the window display;

FIG. 9 is a flowchart representing processes for taking a closer look ata focus thumbnail;

FIG. 10 is a flowchart representing processes for performing furtherprocess on the focus thumbnail;

FIG. 11 is a schematic view showing movement of a thumbnail representinga first-loaded data object;

FIG. 12 is a schematic view showing movement of thumbnails as furtherdata objects are loaded;

FIG. 13 is a schematic view showing movement of thumbnails as furtherdata objects are loaded;

FIG. 14 is a schematic view showing movement of thumbnails as furtherdata objects are loaded;

FIG. 15 is a schematic view graphically representing pivoting movementof a thumbnail line in the line layout;

FIG. 16 is a schematic view showing browsing motion of a thumbnail gridin the grid layout;

FIG. 17 is a schematic view showing browsing motion of a thumbnail helixin the helix layout;

FIG. 18 is a schematic view showing motion of a thumbnail when a neworder is selected;

FIG. 19 is a schematic view showing the display window when a closerlook is taken at the focus thumbnail;

FIG. 20 is a graphical view for explaining the pivoting movement of thethumbnail line;

FIG. 21 is a graphical view for explaining the form of the circlelayout;

FIG. 22 is a graphical view for explaining the form of the helix layout;

FIG. 23(a) is a schematic view showing displayed position of thumbnailsbefore, during, and after the focus thumbnail is changed;

FIG. 23(b) is a schematic view showing timing of change of the focusthumbnail;

FIG. 24 is a flowchart showing operations for implementing movement ofthe thumbnails shown in FIG. 23(b);

FIG. 25 is a view schematically showing determination of a new positionfor the newly selected thumbnail;

FIG. 26 is a schematic view representing processes for displaying audiofiles visually as thumbnails;

FIG. 27 is a schematic view showing thumbnails divided into sectionsdepending on the amount of data in corresponding audio files;

FIG. 28 is a schematic view showing configuration of a CD-ROM;

FIG. 29 is a schematic view showing configuration of a memory card;

FIG. 30 is a schematic view showing thumbnails displayed according tothe size of the corresponding data files;

FIG. 31 is a schematic view showing thumbnails displayed separated fromeach other depending on timing of the corresponding data files; and

FIG. 32 is a schematic view showing thumbnails displayed in groupsdepending on the relationship of the corresponding data files.

DETAILED DESCRIPTION OF THE EMBODIMENT

Next, a system according to an embodiment of the present invention willbe described while referring to the accompanying drawings. The system isfor managing data objects such as digital image files, digital audiofiles, text files, executable programs, program files, and movie files.

As shown in FIGS. 1 to 4, the system displays a window 20 including athumbnail screen 21 and a layout/order interface 22. Thumbnails 23, thatrepresent a variety of data objects, are displayed in the screen 21. Asshown in FIGS. 1 and 3, each of the thumbnails 23 includes an image thatis the essence of the corresponding data object. The thumbnails shown inall other drawings include similar images, but the images have beenomitted from the drawings to facilitate explanation.

The thumbnails 23 can be displayed in any of four different graphicaldisplay layouts: a line layout as shown in FIG. 1, a circle layout asshown in FIG. 2, a grid layout as shown in FIG. 3, and a helix layout asshown in FIG. 4. As will be described in detail below, the layouts usethe X and Y dimensions and scale to layout thumbnails that representvarious data objects.

As shown in FIG. 1, a focus outline 24 surrounds the center-most, orfocus, thumbnail 25 in the thumbnail screen 21. The focus outline 24indicates that the focus thumbnail 25 is currently the focus of anyoperations initiated by input from the user. For example, when input isreceived for browsing through the thumbnails 23, the thumbnails 23 aredynamically scrolled across the screen through the focus outline 24,following a path P according to the presently implemented layout asindicated by arrows P in FIGS. 1, 2, 16, and 17. In this way, the user'sattention can be selectively drawn to particular ones of the thumbnails23 by dynamically moving the thumbnails 23 through the single screen 21,rather than by using multiple windows in the conventional manner. Thesingle screen 21 is advantageous over multiple windows, because thesingle screen 21 gives the user a primary focus and a single unifiedcontext as he or she manipulates the thumbnails 23, which represent dataobjects. As will be described in detail below, the thumbnails 23 aremoved by panning, scrolling, and zooming in the screen 21 to change thedegrees of focus placed on the thumbnails 23.

An information tab 26 is displayed within the focus outline 24 at aposition below the focus thumbnail 25. The information tab 26 includesfurther information about the focus thumbnail 25 such as a file name,date, size, and file type of the data object that corresponds to thefocus thumbnail 25.

The layout/order interface 22 is displayed at the bottom of the screen21 below the display of the thumbnails 23, and includes a layoutinterface 27 and an order interface 28. The layout interface 27 includesicons 27 a to 27 b representing each of the four different layouts. Theuser can select a desired display layout by selecting the correspondingicon 27 a to 27 d, using a mouse and cursor for example. The icon 27 ato 27 d that represents the presently selected layout is displayed nearthe center of the layout/order interface 22 to indicate the presentlyselected layout. The selected icon can also be changed by clicking onthe center icon, or by clicking on an icon 27 e. With each click, theicons 27 a to 27 d switch places with the selected icon one afteranother in order. The graphical icons 27 a to 27 d allows a user toselect a display layout with more confidence that when selecting byusing a list.

The order interface 28 is for selecting one of four different sequenceorders that determined arrangement of the thumbnails 23 in the selectedlayout. The four orders include: name of data object, type of dataobject, size of the data file, and time the file was stored. The orderinterface 28 is displayed at the right bottom of the screen, andincludes words 28 a to 28 d that represent each of the four differentorder types. The word, name 28 a in this example, that represents theselected order is displayed near the center of the layout/orderinterface 22. The selected icon can be changed by either clicking on adesired word, or by clicking on an icon 28 e.

Here, a more detailed description of the four layouts will be provided.As shown in FIG. 1, in the line layout, the thumbnails 23 are aligned ina slightly overlapping manner in a single continuous angled line. Filenames 31 for the data objects are displayed in a separate angled linethat intersects the angled thumbnail line. The line layout has a clearbeginning and end, so the user can easily grasp the number of dataobjects.

As shown in FIGS. 2 and 16, the circle layout consists of slightlyoverlapping thumbnails 23 in an arc of a circular ring. Filenames 31corresponding to the thumbnails 23 appear in an arc of a second ringthat is symmetric to, but inverse from the thumbnail arc. Although notshown in the drawings, when there are only a few thumbnails in thecircle layout, the entire circular ring of thumbnails is displayed inthe screen 21. At this time, filenames are displayed in a circle belowthe thumbnail circle. However, the ring enlarges as the number ofthumbnails increases, until a portion of the thumbnail ring can not bedisplayed. When the ring contains thumbnails up to a certain number,then the radius of the arc increases as the size of the ring increases.However, once a certain number of thumbnails 23 is exceeded, so that thering reaches a certain size, then only an arc having a predeterminedradius is displayed as shown in FIG. 2. The radius of the arc is fixedregardless of how many thumbnails 23 are in the ring, because if theradius were varied according to the number of thumbnails 23 in the ring,then the displayed arc would appear linear when the ring contains alarge number of thumbnails 23.

As shown in FIG. 4, in the grid layout, the thumbnails 23 are alignedvertically and horizontally, that is, with fixed mutual position inhorizontally-extending rows and vertically-extending columns. The numberof thumbnails in the rows of the grid layout is determined by how manythumbnails 23 if aligned side by side, can be displayed completely onthe screen. In the example shown in FIG. 4, five thumbnails 23 aredisposed side by side in each horizontal row, because in this examplecomplete rows of five thumbnails 23 can be displayed in the screen 21without the thumbnails in the rows overlapping. Any further thumbnailsare added by increasing the number of rows, that is, by adding thethumbnails to elongate the columns. It should be noted that rows withmore or less than five thumbnails might be desirable, depending on thedisplaying conditions. The thumbnails 23 contact each other on lateralsides, but have a space between top and bottom sides. The file names 31appear below each corresponding thumbnail 23. The grid layout displaysmore complete rows of thumbnails 23, without the thumbnails overlapping,than any of the other layouts.

As shown in FIG. 4, the thumbnails 23 in the helix layout are displayedin the screen 21 in different scales to give the illusion of viewing athree-dimensional helix from the side. That is, thumbnails 23 a at thefar side of the helix are displayed in a smaller scale than thumbnails23 b at the near side of the helix. The helix shape includes rings 35 ato 35 c of thumbnails 23. Each ring 35 a, 35 b, 35 c includes about tenthumbnails 23. The helix layout shows a large number of thumbnails atthe same time, while maintaining the benefits of a line configuration.

Next, configuration of the file management system for displaying thewindow 20 will be explained, along with further explanation of variousfeatures of the file management system. As shown in FIG. 1, the filemanagement system includes a computer 1, a memory card 2, a display 3,and a user input unit 4.

The memory card 21 can be any memory card, such as a Memory Stick™, aSmartMedia™ memory card, or a Compact Flash™ memory card. The memorycard 2 stores data files for a large number of photographs, songs, orany other type of data objects. The other modules of the system canwrite data objects into, or read data objects from, the memory card 2.The user input unit 4 can be any user interface for inputting commandsand the like, such as a keyboard, a jog-dial, a game controller, or anon-screen unit such as a mouse or a pen.

The computer 1 includes a slot 2 a for insertion of the memory card 2, amemory card interface 10, a CPU 11, a ROM 12, a RAM 13, a hard disk 14,a user interface 15, a display interface 16, and a network interface 17,all connected together by a bus 16. The user interface 15 is connectedto the user input unit 4. The display interface 16 is connected to thedisplay 3. The network interface 17 is connected to a network 5.

FIG. 2 shows functional modules of the computer 1. As shown the computer1 includes a file manager 11, a layout/order manager 12, a searchmanager 13, a program manager 14, and a layout/order template stock 15.The functional modules are realized by application software stored inthe hard disk 14, or retrieved over the network 5.

The file manager 11 reads data objects from the memory card 2 and storesthem in memory, such as the RAM 13.

The layout/order template stock 15 is memory, such as the hard disk 14,that holds a layout/out template for each combination of the fourlayouts and the four orders. Each layout/order template contains twoprimary rule sets for the corresponding layout, one set of rules forsetting relative positions of thumbnails 23 and another set of rules formovement of thumbnails 23.

Although rules in the layout/order templates will be described later,with respect to relative position of thumbnails, a layout/order templatefor the grid layout includes layout rules that indicate that eachthumbnail should be positioned immediately to the right of the precedingthumbnail, unless the thumbnail is sixth in a thumbnail sequence. If thethumbnail is sixth in the sequence, then the thumbnail should bepositioned underneath the first image in the sequence in order to begina new sequence, that is, to start a new row in the grid. The templatesfor the line, circle, and helix layouts indicate that the thumbnailsshould be aligned in line, circle, and helix patterns, respectively.

With respect to rule for movement of the thumbnails, the grid templatealso includes rules defining that the thumbnails in the grid layout moveas shown in FIG. 16 when the user browses through the thumbnails in amanner to be described below. The templates for the line, circle, andhelix layouts indicate that the thumbnails should be move followinglinear, circular, and spiraling paths, respectively.

The program manager 14 reads a layout/order template from thelayout/order template stock 15 for the presently selected layout andorder. The program manager 14 writes the template into the file manager11 to apply the template to the data objects stored by the file manager11. The program manager 14 reads templates from the layout/ordertemplate stock 15 and writes them in the file manager 11 each time thelayout or order is changed, because only one set of display rules needsto be in active memory at any one time.

The layout/order manager 12 reads information about the data objects inthe file manager 11, and draws the corresponding thumbnails 23accordingly in the presently selected layout. The file layout/ordermanager 12 controls the display 2 to display the thumbnails accordingly.

The search engine 13 enables a user to search for data objects based oninputted search criteria. The search engine 13 incrementally writes thecriteria in the file manager 11. The display 3 changes the screen 21 todisplay only thumbnails of data objects that satisfy the searchcriteria. The search engine 13 supports key words and file attributes,such as date, size, color.

Here, operations of the computer 1 will be described while referring tothe flowcharts in FIGS. 7 to 10. In S1, the operating system of thecomputer 1 recognizes the memory card 2 when the memory card 2 isinserted into the slot 2 a. As a result, the operating system launchesan executable application for performing the functions of the filemanager 11, the layout/order manager 12, and the other function modulesin FIG. 6. The executable application can be either retrieved for thispurpose from where it is stored in the hard disk 14, or downloaded fromover the network 5, for example. In S2, the file manager 11 judgeswhether the memory card 2 stores any data objects. If not (S2:NO), thenthe application is ended here.

On the other hand, if the memory card 2 stores data objects (S2:YES),then in S3 the file manager 11 loads the data objects from the memorycard 2 one at a time into the RAM 13. In S4, the program manager 14determines the presently selected layout and order for display ofthumbnails to represent the data objects. In the present example, theline layout is set as the default layout, and file name is set as thedefault order. The program manager 14 then pulls the appropriatelayout/order template from the layout/order template stock 15 and storesthe layout/order template in the RAM 12. The program manager 14 writesthe template on the file manager 11, thereby applying the template toeach data object in the file manager 11.

In S5, the file layout/order manager 12 draws a data view for thethumbnails 23 according to the presently selected layout and order, andcontrols the display 2 to display the thumbnails accordingly.

Each thumbnail 23 is displayed as soon as retrieved by the file manager11, and during the loading process the thumbnails are dynamicallyarranged on the screen according to the presently selected layout. Thatis, as shown in FIG. 11, a thumbnail 23 c of the first-loaded dataobject is displayed at the upper left corner of the screen 21 and thenmoved to the center of the screen 21. The focus outline 24 is displayedsurrounding the thumbnail 23 c in a size that matches the dimensions ofthe thumbnail 23 c.

As shown in FIG. 12, a thumbnail 23 d of the second-loaded data objectis similarly displayed at the upper left corner and then moved to thecenter of the screen 21. At this time, the first thumbnail 23 c movesslightly to the lower left of center. Once the thumbnail 23 d iscentered in the screen 21, it is displayed surrounded by the focusoutline 24 to indicate that the thumbnail 23 d is the currently selectedthumbnail. In this way, the center thumbnail is always designated as thefocus of user input. As shown in FIGS. 13 and 14, this process continuesuntil all the data objects have been loaded from the memory card 2 intothe file manager 11. The user need not wait for all data objects to beloaded, but can begin browsing through the thumbnails while theremaining data objects are being loaded.

During and after the loading process, the layout/order manager 12controls the display 3 to move the thumbnails in the line layoutdynamically with a reciprocal pivoting motion, based on the oscillationof a pendulum. The center of the focus thumbnail 25 serves as theunmoving axis of the pivoting movement. In FIG. 15, the positions ofthumbnails while at one extreme of the pivoting motion are indicated insolid line and the positions of thumbnails while at the other extremeare indicated in dotted line. The reciprocal pivoting motion exposesmost or all of each thumbnail over a short period of time, so that theviewer can gain a better grasp of each displayed thumbnail. For example,as the thumbnail line swings back and forth, lower right and leftsections 23 f′, 23 f″ of a thumbnail 23 f are alternately exposed. Itshould be noted that all the other layouts except the grid layout alsomove dynamically to reveal most or all of each thumbnail in time.

This movement of the thumbnail layout also informs the user that thethumbnail can be interacted with in a dynamic manner. For example, theuser can choose to change the layout or order of the thumbnails (S6), tolook closer at the data object that is presently selected (S7), or tobrowse through the thumbnails (S8).

If the user wishes to browse through the thumbnails (S8:YES), then in S9the program manager 14 receives browsing input from the user. In S10,the layout/order manager 12 controls the display 3 to adjust how thethumbnails 23 are displayed, according to the browsing input from theuser. In S11, the layout/order manager 12 continuously adjusts displayscreen of the display 3 as long as input is received from the user. Oncethe user stops providing browsing input (S11:NO), then the routinereturns to S6.

When the browsing input is singular in nature, such as from pressing anarrow key on a keyboard once, then this indicates that the user wishesto change the selected thumbnail 25 to the thumbnail adjacent to thecurrent selected thumbnail, that is, the thumbnail either prior orsubsequent to the center thumbnail in the displayed thumbnail train. Asa result, the layout/order manager 12 controls the display 3 to smoothlyshift the thumbnail in the thumbnail train one position in the directionthat moves the indicated adjacent thumbnail to the center of the screen.Although the focus outline 24 remains generally at the center of thescreen 21, it can also be moved slightly toward the adjacent thumbnailas the adjacent thumbnail is shifted toward center, to further increasethe smooth flowing movement of the displayed layout.

When the browsing input is continuous in nature, such as when the usercontinuously holds down an arrow key, then the layout/order manager 12controls the display 3 to continuously stream the thumbnails trainthrough the focus outline 24 on the screen 21. This enables the user tobrowse through the thumbnails of all the loaded data objects, even whenthe memory card 2 stores a great number of data objects, so that not allthumbnails can be displayed on the display 3 at the same time.

In the case of the circle layout, the displayed circle of thumbnailsrotates so that the thumbnails 23 in the loop move through the focusoutline 24. This allows the user to browse in a circular manner. Theuser does not have to be conscious of the beginning or end because theyare linked. As mentioned above, when the ring can include a large numberof thumbnail, then only a portion of the thumbnails are displayed at onetime in an arc as shown in FIG. 2. In this case, the displayedthumbnails 23 are sequentially moved on and off the display during thebrowsing operation, thereby constantly changing the thumbnails presentlybeing displayed.

In the case of the grid layout, all the thumbnails 23 remain in the sameposition with respect to each other during the browsing operation. Whenthe user input indicates horizontal scroll, then as shown in FIG. 16 theentire grid is moved in a zigzag pattern across the screen 21 asindicated by arrow P. Although the grid is actually configured with thesame or smaller width than the screen 21, the width of the grid is shownlarger than the width of the screen 21 in FIG. 21 to facilitateunderstanding. This moves the thumbnails 23 of separate rows through thefocus outline 24 in a flowing motion. Rows are followed one after theother in succession starting from the same end of each successive row.As with the line layout, the focus outline 24 moves slightly to meet thenext thumbnail in the train. When the user input indicates horizontalscroll, the thumbnails 23 in the column that includes the focusthumbnail 25 are moved through the focus outline 24 one at a time.Because the horizontal dimension of the grid is set to a numberthumbnails that can be displayed all at one time, that is, to fivethumbnails in the present embodiment, browsing is simpler for the user,because he needs to think basically in a single dimension, rather thanin two dimensions as would be the case if the grid were made larger inthe horizontal direction. As a result, the user browses mainly in thevertical direction during the grid layout.

In the case of the helix layout, when the user input indicateshorizontal scroll, the helix spirals vertically in order to move thethumbnails 23 through the focus outline 24. The amount that the helixscrewingly rotates depends on the number of thumbnails 23 scrolled. Whenmore than a few thumbnails are scrolled in succession, then as shown inFIG. 17 the rotating helix is displayed in a contracted shape byreducing the radius of the helix and the inter-thumbnail distance, whilethe thumbnails 23 flow through the focus outline 24. When the continuousbrowsing input continues for longer than a certain duration of time,then the speed at which the thumbnails 23 move is accelerated. At thistime, the display of the thumbnails 23 is adjusted to match the browsingspeed. For example, the helix of the helix layout is displayed tocontract with increase in browsing speed and expand with decrease inbrowsing speed. This visual change increases the user's awareness thatthe browsing speed has changed. The display of the circle layout issimilarly contracted and expanded based on the duration and speed ofbrowsing.

Returning to FIG. 4, when the user input indicates vertical scrollthrough the helix, the entire helix is shifted vertically by one pitchD, that is, by one inter-ring distance, without rotating. As a result,the present focus thumbnail 25 is shifted out of the focus outline 24,and the largest-scale thumbnail of the upper or lower adjacent ring,depending on the direction of scroll, is shifted into the focus outline24. In the example shown in FIG. 4, when the user input is for movingthe vertically by a single thumbnail, the helix is shifted downward byone pitch D so that the thumbnail 25′ of the ring 35 b shifts out of thefocus outline 24 and the thumbnail 25″ of ring 35 a shifts into thefocus outline 24. Because jumping to an adjacent ring in this way skipsover the interposing ten thumbnails, the user can browse through morethumbnails much more rapidly than in the other layouts. Furthermore,with each jump, the ten thumbnails of another ring are brought into therange of the screen 21.

When the user wishes to change the layout or order of the thumbnails(S6:YES), then the routine proceeds to S20 of the flowchart of FIG. 8.In S20, the layout or order selected by the user is determined. In S21,the program manager 14 determines the rules for the newly selectedlayout or order, and pulls out the appropriate template from thelayout/order template stock 15. In S22, the program manager 14 appliesthe template to the data objects in the file manager 11. In S23, thelayout/order manager 12 creates a new display view, and controls thedisplay 3 accordingly.

When the processes in S21 to S22 are performed to implement a newlayout, the icon that represents the selected layout is shiftedrightward to near the center bottom of the screen to indicate itsselected condition. The icon of the preceding selected layout shiftsleftward to the side to join the icons of the other non-selectedlayouts. This enables a user to easily know when he properly selected alayout icon. At the same time, the thumbnails 23 are repositioned fromthe preceding layout into the newly selected one.

For example, while the thumbnails 23 are being displayed in the linelayout as shown in FIG. 1, when the user input indicates selection ofthe circle layout, the line layout icon 27 d and the circle layout icon27 a move leftward and rightward respectively to switch positions, andthe thumbnails 23 move into the circle layout, resulting in the displayshown in FIG. 2. The actual movement of the icons is displayed. Also,actual movement is shown of the thumbnails from positions of the linelayout into positions of the newly selected circle layout. This enablesthe user to know that the newly selected layout was properlyimplemented.

When the processes in S21 to S22 are performed to implement a new order,then in a manner similar to implementation of a new layout, the wordthat represents the newly selected order is shifted leftward to near thecenter bottom of the screen to indicate its selected condition. The wordof the preceding selected order shifts rightward to the side to join thewords of the other non-selected orders. At the same time, the thumbnails23 are repositioned from the sequence of the preceding order into thesequence of the newly selected order.

In the example shown in FIG. 18, the user selects the type word 28 bwhile the thumbnails 23 are being displayed in name order. In the shownexample, all of the thumbnails 23 are the same type except for athumbnail 23 g, which represents a music file instead of an image filelike the rest of the thumbnails 23. When type is selected for the order,then the thumbnail 23 g falls out of line and shifts to the leadposition of the line. The previous lead thumbnail 23 h and otherintervening thumbnails 23 i all shift back one inter-thumbnail distanceto restore order to the line. Actual movement of the thumbnails is shownfrom positions of the preceding order into positions of the newlyselected order to enable the user to know for certain that the change inorder was successful.

A user can get a closer look at a desired thumbnail by increasing thescale of the thumbnail in the focus outline 24 to a larger scale. Whenthe user wishes to look closer at the data object that is presentlyselected (S7:YES), then the routine proceeds to S30 of the flowchart ofFIG. 9. In S30, input is received from the return key of the keyboard orequivalent input unit to indicate that the focus thumbnail 25 isselected. Then, as a result of S31 to 33, the screen appears as shown inFIG. 19. That is, in S31 the layout manager 12 increases the scale ofthe focus thumbnail 25 in the focus outline 24 to a larger scale. InS32, the program manager 14 disables the layout and order interfaces 27,28 at the bottom of the screen 21, and in S33 enables a commandinterface 40 including icons 40 a to 40 c, which represent variousapplication launchers. Arrows 40 d are also displayed for indicating theicon of the application that will be launched when a command is receivedfrom the user. The user can change location of the arrows 40 d byperforming horizontal scroll operation s. If the focus thumbnail 25represents an audio file, then the program manager 14 plays the audiofile when the focus thumbnail 25 is selected. If the focus thumbnail 25represents a movie file, then the program manager 14 plays the moviewhen the focus thumbnail 25 is selected.

Next in S34, the user has the opportunity to use the command interface40 to perform a variety of different processes on the selected dataobject. If the user does not wish to process the selected data object(S34:NO), then in S35 user input to this effect is received, such asfrom the user again pressing the return key while the arrows 40 dsurround all of the icons 40 a to 40 c, which indicates that noparticular application has been selected. In S36, the layout/ordermanager 12 reduces the thumbnail 25 back to the original small scale.Then the flow returns to S6 or S30.

On the other hand, if the user wishes to process the selected dataobject (S34:YES), then the flow proceeds to S40 shown in the flowchartof FIG. 10. In S40, the user selects what process he wishes to performon the selected data object. For example, the user can select to launchan application relating to the selected data object, to edit the dataobject using an edit interface, or to bookmark the data object using abookmark interface. When the user chooses to launch an application, thenin S41 the user selects the desired application. In S42, the programmanager 14 accesses the operating system and launches the selectedapplication. In S43, the file manager 11 transfers the selected dataobject to the launched application. In S44, the layout/order manager 12reduces size of the focus thumbnail 25 to the original scale. In S45,the program manager 14 moves the launched application to the front. Ifthe launched application is the one the user desired (S46:YES), the inS47 the user uses the new application and this flow is ended. If not(S46:NO), then the flow returns to point S6.

When the application is closed, before completely stopping display ofthe thumbnails, the thumbnails are shown scattering off the screen, tostress that the application has been terminated.

Here, the layout/order templates for determining mutual position andmovement of thumbnails in each layout will be described in more detail.The layout manager 14 also includes information for defining the focusoutline 24 at a position at or near the center of the screen 21. Intemplates for all layouts, the inter-thumbnail distance is set to aconstant value of 64 pixels on the screen 21.

With respect to the line layout, the thumbnails are aligned on a lineseparated by 64 pixels. The line extends to a length L, which equals thenumber n of thumbnails times the constant 64 pixels (L=64n).

The content of the layout/order template for producing the reciprocalpivoting motion of the thumbnail line will be described with referenceto FIG. 20. It should be noted than the pivoting movement of the linelayout continues even during browsing. The center of thumbnails and thecenter of filenames are aligned on different ones of lines 1 and 2,separated from each other by the distance 64 pixels. The lines 1 and 2are shown in FIG. 20 at the extremes of the reciprocal pivotingmovement. Movement of the lines 1 and 2 are defined using the followingformulas:${{Line}\quad 1\quad y} = {{{\sin\left( {\frac{\pi}{2}\quad t} \right)}\left( {y - c_{0}} \right)} + c_{1}}$${{Line}\quad 2\quad y} = {{{- {\sin\left( {\frac{\pi}{2}\quad t} \right)}}\left( {y - c_{0}} \right)} + c_{1}}$wherein x and y are coordinates on the display screen 21;

-   -   t is time in seconds; and    -   c₀ and c₁ are the coordinates at the center of the screen 21.

In the example of FIG. 20, c₀ represents the distance from the top ofscreen 21 to the center of the screen, and c₁ represents the distancefrom the right side of the screen 21 to the center of the screen. Angleθ shown in FIG. 20 is determined using the following formula:$\theta = {\frac{\pi}{2}\quad t}$

The template for the circle layout will be explained with reference toFIG. 21. The radius r of the thumbnail and file name circles isdetermined based on the following formula: $r = \frac{64n}{2\pi}$

The center of the thumbnail circle is determined based on the followingformula:(x _(circle1) , Y _(circle1))=(x _(cent) , Y _(cent) −r−64)

The center of filename circle is determined based on the followingformula:(x _(circle2) , Y _(circle2))=(x _(cent) , Y _(cent) +r+64)

The position of each thumbnail in the thumbnail circle is determinedbased on the following formula:$\left( {x_{1i},y_{1i}} \right) = \left( {{x_{{circle}\quad 1} + {r\quad{\sin\left( {\frac{2\pi}{n}\quad i} \right)}}},{y_{{circle}\quad 1} + {r\quad{\cos\left( {\frac{2\pi}{n}\quad i} \right)}}}} \right)$

The position of each file name in the file name circle is determinedbased on the following formula:$\left( {x_{2i},y_{2i}} \right) = \left( {{x_{{circle}\quad 2} + {r\quad{\sin\left( {\frac{2\pi}{n}\quad i} \right)}}},{y_{{circle}\quad 2} - {r\quad{\cos\left( {\frac{2\pi}{n}\quad i} \right)}}}} \right)$

Here, the template for displaying the helix layout will be explainedwith reference to FIG. 22. The x, y, and z coordinates of each thumbnailin the helix are determined based on the following formulas:$x_{i} = {x_{cent} + {r\quad{\sin\left( {\frac{2\pi}{9}\quad j} \right)}} - {\frac{r}{20}\quad j}}$$y_{i} = {y_{cent} + {\frac{r}{10}\quad j}}$$z_{i} = {r - {r\quad{\cos\left( {\frac{2\pi}{9}\quad j} \right)}}}$wherein i is a thumbnail number representing a target thumbnail of allthe thumbnails. For example, to determine the position of a secondthumbnail in the thumbnail train, the value of i is set to two. Thevalue of j is determined by subtracting n from i (j=i−n), wherein n isthe thumbnail number of the focus thumbnail. For example, if the targetthumbnail is the focus thumbnail, then j would equal zero. The scale ofeach thumbnail 23 is determined based on its Z-axis coordinate.

Next, content of the templates for determining slide movement duringbrowsing will be explained while referring to FIGS. 23(a) to 25. Theexample will be given for the situation shown in FIG. 23(b), whereinfour thumbnails 231 to 234 are arranged in the line layout. Thethumbnail 233 is the present focus thumbnail 25 as indicated in box a.

When the user input indicates to change the focus thumbnail to the nexthigher in the thumbnail line, that is, to the thumbnail 232, then thelayout/order manager 12 sets target positions D_(i) for the thumbnails231 to 234 based on the thumbnail 232 being centered in the screen asthe focus thumbnail 25 as shown in box b of FIG. 23(b). By comparingboxes b in FIGS. 23(a) and 23(b), it can be seen that the newly settarget positions D_(i) of the thumbnails 231 to 234 are different fromthe present positions S_(i). Therefore, the layout/order manager 12gradually changes display of the thumbnails 23 as can be seen bycomparing boxes c in FIGS. 23(a) and 23(b), until the target positionsD_(i) match the actual positions S_(i) of the thumbnails 231 to 234 asshown in boxes d of FIGS. 23(a) and 23(b).

Next, a routine performed by the program manager 14 for changing thedisplay of thumbnails in this manner will be described while referringto the flowchart in FIG. 24. This routine is performed each time thescreen is updated. The screen is updated at a fixed interval of 30 timesper second. First in S50, the focus thumbnail 25 is changed by inputfrom the user. It should be noted that if no input is received from theuser to change the focus thumbnail 25, then this routine is ended here.Then in S51, a thumbnail number i in a counter is set to one. Thethumbnail number i indicates a present thumbnail under consideration.

In S52, the target position D_(i) of the ith thumbnail is set based onthe new focus thumbnail selected in S50. It should be noted that thetarget position D_(i) is also set based on the present layout. Forexample, if the present layout is the helix layout, then the targetposition D_(i) will be a position somewhere on the helix shape definedby the helix layout template. This is true for all the layouts.

In S53, a new position S_(inew) for the ith thumbnail is calculatedbased on the ith thumbnail's present position S_(ipresent) and thetarget position D_(i). The new position S_(inew) is determined based onthe following formula:S _(inew) =S _(ipresent)+((D _(i) −S _(ipresent))/5)

That is, as shown in FIG. 25, the distance between the ith thumbnail'spresent position S_(ipresent) and the target position D_(i) is dividedinto five segments. The new position S_(inew) is set to a position onefifth the distance from the present position S_(ipresent).

Then, in S54 the thumbnail number i is incremented by one to changefocus of the routine to the next thumbnail in the thumbnail train. Oncethe routine has been performed for all the thumbnails in the thumbnailtrain (S55:YES). then this routine is ended.

As a result of repeated runs of this routine, the thumbnails willeventually reach their target positions. Because of the process in S53,the thumbnails will move quickly at first, and then reduce speed as theyapproach their new target positions in a type of movement commonlyreferred to as “easing in.” This gives the effect that the thumbnailssettle into their new target positions.

As mentioned above, the focus outline 24 moves slightly to greet thenext thumbnail in the thumbnail train during browsing operations. Thetemplates include information for displaying this motion.

FIGS. 26 and 27 show an example of how thumbnails that represent audiofiles are visually displayed based on size and content of the audiofiles. As shown in FIG. 26, a music file 54 includes file information 54a and music data 54 b. The file information 54 a includes title of thesong, the artist's name, and the playing time. To produce a thumbnailfor the music file 54, first a portion of the music data is retrieved.The amount of data retrieved at this time depends on the size of themusic file, that is, if the music file is large, then a great deal ofdata is retrieved. The retrieved data is divided into sections. In thepresent example, it will be assumed that the retrieved data is dividedinto 300 sections. Each section has three 16-bit sets. In the example ofFIG. 26 one representative section has the three 16-bit sets of 0f 7e 57in hexadecimal notation. The 16-bit sets in each section are used todefine one of 256 possible color gradations for each of red, green, andblue colors. In the example of FIG. 26, the 16-bit sets of 0f, 7e, and57 are used to determined gradations of red, green, and bluerespectively.

The thumbnail for the audio file is divided into the same number ofsections as the retrieved music data, that is, into 300 sections in thisexample, by dividing a thumbnail into 300 sections (15×20). The colorgradations determined by the three 16-bit sets of each section are usedto display color in the corresponding section of the thumbnail as shownin the second square from the top in FIG. 26. Once RGB values for allsections of the display have been determined, then borders betweendisplay sections are blurred as shown in the third square from the topin FIG. 26. Then various file information is superimposed in capitalletters over the blurred image as shown in the bottom square in FIG. 26.

As shown in FIG. 27, the number of display sections is increased ordecreased depending on the size of the corresponding data file. That is,thumbnails for large data files are displayed with many sections, andthumbnails for small data files are displayed with few sections.

While the invention has been described in detail with reference tospecific embodiments thereof, it would be apparent to those skilled inthe art that various changes and modifications may be made thereinwithout departing from the spirit of the invention, the scope of whichis defined by the attached claims.

For example, the embodiment described data objects being loaded from amemory card into a computer. However, the memory card can be replaced byany local storage device, such as flash memory, recordable media, harddisk, or CD-ROM. Alternatively, data objects can be provided over anetworked server, or from any combination of local memories andnetworks.

Further, data objects could be transferred via a network protocol byusing a standalone application or browser applet. Such a configurationcould be used as an on-line multimedia photo album, wherein a useruploads data-objects to a server, and others browse the data-objectsfrom remote terminals. Alternately, the user's computer itself could beused as a server.

When the data objects are provided from a CD-ROM, then in this case alsothe data objects can be loaded from the CD-ROM into the file managerautomatically upon insertion of the CD-ROM into the computer. However,as shown in FIG. 28, all executable applications, such as for performingthe loading operation, for displaying the thumbnail according to theselected layout, and changing display of the thumbnail and graphicalicons when a different layout is selected, must be provided on theCD-ROM.

This contrast to the case of a memory card. As shown in FIG. 29,executables are provided in the computer's hard disk or over a network.Use of a memory card is preferable because the executables can be usedwith many different data files, not just those on the memory card. Also,the executables can be upgraded independently of the data files.Further, although an application run from either a CD-ROM or a memorycard becomes the front-most application, other applications areinaccessible in the case of CD-ROM, but are accessible in the case ofmemory card.

Although the embodiment describes launching an application in S41 for asingle data object, an application could be launched for more than onedata object. For example, the user can bookmark several thumbnails usingthe bookmark interface, and then launch the application for all of thebook marked thumbnails.

The layout interface 27 uses icons to represent layouts, and the orderinterface 28 uses words to represent orders. However, any indicia can beused to represent layouts and orders.

Although the embodiment described layouts and orders as beingpredetermined, the computer could be modified to enable a user to definenew layouts and orders. New layouts can be defined using a visualprogramming function that a user uses to position and size a series ofthumbnails or other data object representatives in a repeatable pattern.Such new layouts can be shared and distributed through a plug-inarchitecture. New orders can be defined by the user simply adding a newfile attribute to the list of order parameters. Search criteria couldalso be stored and used as order parameters.

In the embodiment, thumbnails and the overall layout are displayed inthe same manner regardless of the selected order. However, thethumbnails and layout could be displayed in a manner dependent on theselected order. For example, when file size is chosen as the order, thenas shown in FIG. 30 each thumbnail can be displayed in a size relativeto the overall range of sizes for the data objects. In two-dimensionallayouts, such as the grid, line, and circle layout, the thumbnail needonly be scaled in X and Y directions. However, since scaling is used asa part of three dimensional layouts, that is, the helix layout, athumbnail's relative size can be represented by adding isometricdimensionality or “thickness” to the thumbnail.

When time is chosen as the order, the sequence or pattern of howthumbnails are displayed can be varied based on how close together thedata objects are in time. For example, the time between two data objectscan be represented by varying the space between two thumbnail. In theexample shown in FIG. 31, data objects represented by thumbnails 23 mand 23 n are separated by a relatively short time, so the thumbnails 23m and 23 n are displayed separated by a relatively short distance SD.Data objects represented by thumbnails 23 o and 23 p are separated by arelatively long time, so the thumbnails 23 o and 23 p are displayedseparated by a relatively long distance LD.

Alternately, thumbnails can be grouped together, and the groupsseparated from each other, as shown in FIG. 31 depending on how close intime the thumbnails are. For example, if a collection of images weretaken, or a set of files were created, all within a certain time span,then the images or files from that time span can be grouped together,and separated from other groups when there is a significant time gapbetween the images or files of other groups. In the example shown inFIG. 32, digital photos that are taken less than 15 minutes apart areplaced in the same group, and different groups are displayed encompassedby lines 55 a to 55 d. That is, photos taken more than 15 minutes apartare put into a separate groups. Such groups could alternately beindicated using different colors or text labels.

A more sophisticated algorithm can take into account overall imagetaking frequency, total elapsed time, and image criteria to adjust thegroupings dynamically. Examples of how image taking frequency, totalelapsed time, and image criteria can be used to adjust grouping will begiven for the situation of taking images with a digital camera.

Image taking frequency can be measured by determining the time intervalsbetween all images taken, finding the average interval, and comparingeach time interval with the average interval. Whether images have a timeinterval greater or less than average can be used as a weighting factorfor determining whether or not thumbnails should be displayed indifferent groups.

Total elapsed time refers to the entire duration of time from when thefirst image was taken to when the last image was taken. The standardtime difference used to determine what thumbnails are grouped togethercan be varied depending on the elapsed time. For example, if only anhour has elapsed since the first image was taken, then the standard timedifference might be set to ten minutes. However, if 10 hours haselapsed, then the standard time difference might be set to one hour.

Image criteria refers to using certain criteria, such as brightnesslevel, color, and pattern recognition of images, to determine whetherimages should be grouped together or not. Each image is analyzed forcertain criteria, and thumbnails for images sharing the samecharacteristics are grouped together.

Any dynamic element, such as icons, can be used instead of thumbnails torepresent the data objects. However, thumbnails are preferable to icons,because the thumbnail is the essence of the data object itself. Forexample, when the thumbnail is a depiction of an image, the thumbnail isthe essence of the image itself in a smaller size. An icon is a genericrepresentation of a file type, in which case all of the same type ofimage would have the same icon.

The outline 24 need not be provided for indicating the focus thumbnail25, which is the focus of operations induced by input from the user. Thefocus thumbnail 25 can be designated merely by placement in a focusregion, without displaying the focus outline 24 itself.

In the embodiment, the application is launched when the memory card 2 isinserted into the slot 2 a. However, the application can be launchedwhen the memory card 2 is selected based on input from the user inputunit 4.

In the embodiment, the same application is launched when any memory cardis selected or inserted. However, different applications can be launcheddepending on the data in the memory card or the type of memory card, orto launch an application only for certain memory cards.

Although the embodiment described the system as being user controlled,the system could also be autonomous. For example, a slide show mode canbe provided for randomly presenting thumbnails, automatically withoutuser control. This is similar to a slide show program that randomlydisplays images in a certain folder. The slide show mode can beinitiated automatically in the manner of a screen saver mode after aperiod of in-action by the user. The user can easily interrupt thescreen saver mode by taking any action. It would also be possible forthe user to directly initiate this slide show function.

1-5. (canceled)
 6. A device for managing data objects, comprising:displaying means for displaying thumbnails representative of dataobjects; defining means for defining a focus region that indicates afocus thumbnail subject to processes; moving means for moving thedisplayed thumbnails along a predetermined path through the focusregion; and enable/disable means for selectively enabling and disablingthe moving means, the displaying means statically displaying a singlethumbnail in the focus region when the enable/disable means disables themoving means, the displaying means displaying the thumbnails to movealong the predetermined path through the focus region when theenable/disable means enables the moving mean; wherein the displayingmeans further displays an interface portion with a plurality of indicia,and further comprising selection means for selecting one of the indiciaof the interface portion; wherein the indicia include a plurality oflayout indicia each representing one of a plurality of layouts, thedisplaying means displaying the thumbnails in relative positions, andthe moving means moving the thumbnails along a predetermined path, inaccordance with the layout indicium selected by the selection means; andwherein the displaying means further displays file names of filescontaining the data objects of the thumbnails, the displaying meansdisplaying the file names in a pattern that is inverse a pattern formedby the thumbnails. 7-40. (canceled)